/**
 * CS 307 Red Cross Calendar
 * @author Kevin Barlow
 * @author David Barnes
 * @author Max Cohen
 * @author Yoongu Kang
 * @author Matt Lathrop
 * @author Thomas Maley
 */
package com.cs307.redcross.client;

import java.io.Serializable;
import java.util.Vector;


public class Administrator extends Person implements Serializable {
	private static final long serialVersionUID = 1L; // needed in order to implement Serializable
	
	// indicates whether or not the administrator receives email notification
	// whenever a new member signs up
	private boolean notifyOnNewMember;
	
	/**
	 * Constructs a blank Administrator object
	 */
	public Administrator() {
		this("", "", "", "", "", "", "", "", null);
	}
	
	/**
	 * Constructs a Administrator object with the given information
	 */
	public Administrator(String firstName, String lastName, String email, String carrier, String cellPhoneNumber, String smsEmail, String user, String password, Vector<FreeTimeEvent> freeTimeEvents) {
		super(firstName, lastName, email, carrier, cellPhoneNumber, smsEmail, user, password, freeTimeEvents);
		this.notifyOnNewMember = false;
	}
	
	public Administrator(String firstName, String lastName, String email, String carrier, String cellPhoneNumber, String smsEmail, String user, String password, Vector<FreeTimeEvent> freeTimeEvents, boolean encr) {
		super(firstName, lastName, email, carrier, cellPhoneNumber, smsEmail, user, password, freeTimeEvents, encr);
		this.notifyOnNewMember = false;
	}
	
	public Administrator(Administrator admin) {
		super(admin.firstName, admin.lastName, admin.email, admin.carrier, admin.cellPhoneNumber, admin.smsEmail, admin.username, admin.password, admin.freeTimeEvents);
		this.notifyOnNewMember = false;
	}
	
	// getters *******************************************************

	/**
	 * @return TRUE if the administrator wants notification of new members, FALSE otherwise 
	 */
	public boolean getNotifyOnNewMember() {
		return this.notifyOnNewMember;
	}
	
	// setters *******************************************************
	
	/**
	 * @param a Vector<Person> that stores the new list of persons for the group
	 */
	public void setNotifyOnNewMember(boolean notifyOnNewMember) {
		this.notifyOnNewMember = notifyOnNewMember;	
	}
}
